 /*
 * THIS CODE IS FOR THE IB COMPUTER SCIENCE DOSSIER AND USERS RELATED TO
 * THIS PROJECT. THE AUTHOR HAS NO RESPONSIBILITY FOR ANY MALFUNCTION THIS CODE
 * MAY CAUSE TO ANY ONE OR ANY THING.
 *
 *      BB BB BB BB BB              TT TT TT TT TT TT TT                        C C   K
 *      BB           BB                      TT                               C       K     K     e e e e e
 *      BB            BB                     TT   rr            a a a a      C        K   K     e          e  rr
 *      BB           BB                      TT   rr  rr rr   a         a   C         K  K     e          e   rr  rr rr
 *      BB BB BB BB BB ----------------------TT---rr rr------a           a--C      ---KK------e  e e e e e----rr r
 *      BB           BB                      TT   rr        a          a a  C         K  K    e               rr
 *      BB            BB                     TT   rr        a        a  a    C        K   K    e              rr
 *      BB           BB                      TT   rr          a a a a   a      C C C  K    K     e e e e      rr
 *      BB BB BB BB BB                       TT
 *
 *
 *        BUILD: 32
  *
  *
 *       //change log
 *         BUILD: 15 - MainWindow set up
 *         BUILD: 16 - Calendar Month and Year added to GUI
 *         BUILD: 17 - SetBudget GUI fishihed
 *         BUILD: 18 - menu bar added to MainGUI
 *         BUILD: 19 - Login GUI created
 *         BUILD: 20 - Login GUI + SetBudget GUI cancel button now works
 *         BUILD: 21 - LogIn Whole GUI Set up + New User GUI added
 *         BUILD: 22 - newAccount class added with password checker for LogIn
 *         BUILD: 23 - fix: confirm and new password: New_Account_UI -> checkPass() ->convertPassword + centered all frames
 *         BUILD: 24 - added splash screen (needs fix -> undecorated frame)
 *         BUILD: 25 - Fixed and finalized login issues :: Jan 31 2010
 *         BUILD: 26 - Added project folder creation function in New_Account_UI :: Feb 1 2010
 *         BUILD: 27 - Added UserData creation function as well as an encryption algorithm for the password :: Feb 3 2010
 *         BUILD: 28 - Login Completed with fixes to Crypt (now at 1.1) + Login UI + File writting -- fixes needed: write more to directory.inf :: Feb 4 2010
 *         BUILD: 29 - Fixed Login with diffrent users + Fixed main frame loading time with loader (loader improvment still needed) :: Feb 15 2010
 *         BUILD: 29b- Fixed login issues when wrong user inputed + fixed back button/ Cancel button :: Feb 16 2010
 *         BUILD: 30 - Added calender feature (Month and Year) + added tab Report View + corrected some login errors ::Feb 18 2010
 *         BUILD: 31 - Added tables to DataTable and to Calendar + refined Calendar UI ::Feb 21 2010
           BUILD: 31b - Changed Calendar table (selection) :: feb 25 2010
 *         BUILD: 32 - Improved Calendar (self updating day placment) + fixed non editable cells :: feb 27 2010
  *        BUILD: 33 - Created pull from file and store to file function in arrays (StoredData()) :: March 2 2010
  *
 *
 *      //
 *
 *
 *   SAMMY|SOFT(TM)
 *  All rights Reserved
 *
 *////////////////////////////////////////////////////////////////////////////////////////////

package btracker;

import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;

/**
 * Runs the program
 * Changes the Look&Feel of the whole program using the SUBSTANCE look and feel
 *
 * @version v 0.32
 * @author Sammy
 */
public class Main {

    
    public static void main(String  args[] ) throws  ClassNotFoundException, InstantiationException, IllegalAccessException, UnsupportedLookAndFeelException {
        
       JFrame.setDefaultLookAndFeelDecorated(true);
    SwingUtilities.invokeLater(new Runnable() {
      public void run() {
        try {
          UIManager.setLookAndFeel("org.jvnet.substance.skin.SubstanceRavenGraphiteLookAndFeel");
        } catch (Exception e) {
          System.out.println("Substance Raven Graphite failed to initialize");
        }

      // Splash.Splash();
        
                try {
                Login.LoginGUI();
                    Login.loginFrame.setVisible(true);
                } catch (ClassNotFoundException ex) {
                    Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
                } catch (InterruptedException ex) {
                    Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
                }
               
               
      }
    });
       
    }

}
